<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"
"http://www.w3.org/TR/REC-html40/loose.dtd">

<HTML>

<TITLE>expat</TITLE>

<BODY>

<H1>expat - XML Parser Toolkit</H1>

<p>This is outdated stuff from the independently developed Expat which
was forked in 2001 to make the Xmlrpc-c embedded version.

<H3>Version 1.2</H3>

<P>Copyright (c) 1998, 1999, 2000 Thai Open Source Software Center
Ltd.  Expat is freely available with source under a very liberal <a
href="copying.txt">license</a> (the MIT license).</P>

<P>This is a production version of expat.  Relative to expat 1.1, it
adds support for parsing external DTDs and parameter entities.
Compiling with -DXML_DTD enables this support.  There's a new
<CODE>-p</CODE> option for xmlwf which will cause it to process
external DTDs and parameter entities; this implies the <CODE>-x</CODE>
option.  See the comment above <CODE>XML_SetParamEntityParsing</CODE>
in <CODE>xmlparse.h</CODE> for the API addition that enables this.</P>

<p>For Xmlrpc-c, we find no reason to exclude this function from the
library, and ifdefs make code harder to maintain, so we include the
function unconditionally.  (i.e. -DXML_DTD does nothing).

<P>Expat is an <A
HREF="http://www.w3.org/TR/1998/REC-xml-19980210">XML 1.0</A> parser
written in C. It aims to be fully conforming.  It is currently not a
validating XML processor.  The current production version of expat 1.X
can be downloaded from <A href =
"ftp://ftp.jclark.com/pub/xml/expat.zip"
>ftp://ftp.jclark.com/pub/xml/expat.zip</A>.</P>

<P>Development of expat 2.0 is being handled by a team led by Clark
Cooper, hosted by <A
href="http://www.sourceforge.net">sourceforge.net</A>.  See <A href=
"http://expat.sourceforge.net">http://expat.sourceforge.net</A> for
the latest on expat 2.0.</P>

<P>The directory <SAMP>xmltok</SAMP> contains a low-level library for
tokenizing XML.  The interface is documented in
<SAMP>xmltok/xmltok.h</SAMP>.</P>

<P>The directory <SAMP>xmlparse</SAMP> contains an XML parser library
which is built on top of the <SAMP>xmltok</SAMP> library.  The
interface is documented in <SAMP>xmlparse/xmlparse.h</SAMP>.  The
directory <SAMP>sample</SAMP> contains a simple example program using
this interface; <SAMP>sample/build.bat</SAMP> is a batch file to build
the example using Visual C++.</P>

<P>The directory <SAMP>xmlwf</SAMP> contains the <SAMP>xmlwf</SAMP>
application, which uses the <SAMP>xmlparse</SAMP> library. The
arguments to <SAMP>xmlwf</SAMP> are one or more files which are each
to be checked for well-formedness. An option <SAMP>-d
<VAR>dir</VAR></SAMP> can be specified; for each well-formed input
file the corresponding <A
href="http://www.jclark.com/xml/canonxml.html">canonical XML</A> will
be written to <SAMP>dir/<VAR>f</VAR></SAMP>, where
<SAMP><VAR>f</VAR></SAMP> is the filename (without any path) of the
input file.  A <CODE>-x</CODE> option will cause references to
external general entities to be processed.  A <CODE>-s</CODE> option
will make documents that are not standalone cause an error (a document
is considered standalone if either it is intrinsically standalone
because it has no external subset and no references to parameter
entities in the internal subset or it is declared as standalone in the
XML declaration).</P>

<P>The <SAMP>bin</SAMP> directory contains Win32 executables.  The
<SAMP>lib</SAMP> directory contains Win32 import libraries.</P>

<P>Answers to some frequently asked questions about expat can be found
in the <A
HREF="http://www.jclark.com/xml/expatfaq.html">expat
FAQ</A>.</P>

<P></P>

<ADDRESS>

<A HREF="mailto:jjc@jclark.com">James Clark</A>

</ADDRESS>

</BODY>

</HTML>
